home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #14 / Monster Media No. 14 (April 1996) (Monster Media, Inc.).ISO / wildcat / allfl_20.zip / ONDEMAND.WCX (.txt) < prev    next >
Wildcat! WCX  |  1996-01-01  |  20KB  |  1,486 lines

  1. '! Decompiled with wccNosy version 4.20f (freeware)
  2. '! Input File: in.wcx  19585 bytes  01/28/123  10:06:42pm
  3. '! Code Segment Size  :17583 bytes
  4. '! Data Segment Size  :22430 bytes
  5. '! String Segment Size:2002 bytes
  6. '! Compiled with WCC version 4.01
  7.  
  8.       Type Type42
  9.         s0 As String*65
  10.         s65 As String*77
  11.         s142 As String*59
  12.       End Type
  13.  
  14.       Type Type41
  15.         b0(1 To 4095) As Byte
  16.       End Type
  17.  
  18.       Type Type40
  19.         l0 As Long
  20.         b4 As Byte
  21.         t41_5 As Type41
  22.         l4100 As Long
  23.         b4104 As Byte
  24.         w4105 As Word
  25.       End Type
  26.  
  27.       Type Type39
  28.         Filler0(1 To 5) As Byte
  29.         s5 As String*3
  30.         s8 As String*3
  31.         s11 As String*79
  32.         s90 As String*79
  33.         s169 As String*67
  34.         b236(1 To 4095) As Byte
  35.       End Type
  36.  
  37.       Type Type38
  38.         Filler0(1 To 3932) As Byte
  39.         b3932 As Byte
  40.       End Type
  41.  
  42.       Type Type37
  43.         b0 As Byte
  44.         s1 As String*160
  45.       End Type
  46.  
  47.       Type Type36
  48.         s0 As String*1
  49.         s1 As String*65
  50.         s66 As String*59
  51.         s125 As String*65
  52.         l190 As Long
  53.       End Type
  54.  
  55.       Type Type35
  56.         s0 As String*31
  57.         t36_31(1 To 20) As Type36
  58.         s3911 As String*20
  59.         b3931 As Byte
  60.         b3932 As Byte
  61.       End Type
  62.  
  63.       Type Type34
  64.         Filler0(1 To 66) As Byte
  65.         s66 As String*59
  66.       End Type
  67.  
  68.       Type Type33
  69.         Filler0(1 To 31) As Byte
  70.         t34_31(1 To 20) As Type34
  71.         Filler2531(1 To 1401) As Byte
  72.         b3932 As Byte
  73.         b3933 As Byte
  74.       End Type
  75.  
  76.       Type Type32
  77.         s0 As String*31
  78.         Filler31(1 To 3900) As Byte
  79.         b3931 As Byte
  80.         b3932 As Byte
  81.       End Type
  82.  
  83.       Type Type31
  84.         s0 As String*1
  85.         s1 As String*65
  86.         s66 As String*59
  87.         s125 As String*65
  88.         l190 As Long
  89.       End Type
  90.  
  91.       Type Type30
  92.         Filler0(1 To 31) As Byte
  93.         t31_31(1 To 20) As Type31
  94.         Filler3911(1 To 20) As Byte
  95.         b3931 As Byte
  96.       End Type
  97.  
  98.       Type Type29
  99.         Filler0(1 To 26) As Byte
  100.         w26 As Word
  101.         Filler28(1 To 2) As Byte
  102.         w30 As Word
  103.       End Type
  104.  
  105.       Type Type28
  106.         s0 As String*3
  107.         s3 As String*8
  108.         s11 As String*30
  109.         s41 As String*25
  110.         s66(1 To 10) As String*80
  111.         l866 As Long
  112.       End Type
  113.  
  114.       Type Type27
  115.         s0 As String*5
  116.         s5 As String*12
  117.         s17 As String*67
  118.         b84 As Byte
  119.         l85 As Long
  120.         s89 As String*79
  121.         s168 As String*12
  122.         s180 As String*67
  123.         s247 As String*79
  124.         s326 As String*67
  125.         t41_393 As Type41
  126.         l4488 As Long
  127.         b4492 As Byte
  128.         w4493 As Word
  129.       End Type
  130.  
  131.       Type Type26
  132.         s0 As String*25
  133.         s25 As String*10
  134.         s35 As String*15
  135.         s50 As String*70
  136.         s120 As String*70
  137.       End Type
  138.  
  139.       Declare Function Func780(s65534 As String) As Long
  140.       Declare Function Func892(s65534 As String) As Boolean
  141.       Declare Function Func1415(l65534 As Long, l65532 As Long) As Long
  142.       Declare Sub Sub1468(l65534 As Long, l65532 As Long)
  143.       Declare Function Func1568(i65534 As Integer) As Boolean
  144.       Declare Sub Sub1693(i65534 As Integer)
  145.       Declare Sub Sub1830(i65534 As Integer)
  146.       Declare Sub Sub1967(i65534 As Integer)
  147.       Declare Sub Sub2069(s65534 As String)
  148.       Declare Sub Sub2146
  149.       Declare Sub Sub2220(s65534 As String)
  150.       Declare Sub Sub2316
  151.       Declare Sub Sub2341
  152.       Declare Function Func2361(l65534 As Long) As Long
  153. '!      Declare Function Func2818(s65534 As String) As Long
  154.       Declare Sub Sub2954(t30_65534 As Type30, s65532 As String, s65530 As String, s65528 As String, s65526 As String, l65524 As Long)
  155.       Declare Sub Sub3265(t32_65534 As Type32, s65532 As String)
  156.       Declare Sub Sub3318(t33_65534 As Type33)
  157.       Declare Sub Sub3572
  158.       Declare Function Func3710(t35_65534 As Type35) As String
  159.       Declare Sub Sub6381(s65534 As String)
  160.       Declare Function Func6661(i65534 As Integer) As String
  161.       Declare Function Func6833(s65534 As String, b65532 As Byte, i65530 As Integer, i65528 As Integer) As Integer
  162.       Declare Sub Sub7321(i65534 As Integer, i65532 As Integer)
  163.       Declare Sub Sub7868(i65534 As Integer)
  164.       Declare Function Func8018(i65534 As Integer, i65532 As Integer) As Integer
  165.       Declare Sub Sub8923
  166.       Declare Sub Sub9774(t30_65534 As Type30, s65532 As String, i65530 As Integer, s65528 As String, l65526 As Long)
  167.       Declare Sub Sub9934
  168.       Declare Sub Sub10760
  169.       Declare Sub Sub11802
  170.       Declare Sub Sub12409
  171. '!      Declare Sub Sub12705(l65534 As Long)
  172.       Declare Function Func13306(w65534 As Word) As Boolean
  173.       Declare Function Func13430(i65534 As Integer) As Boolean
  174.       Declare Function Func13516 As Boolean
  175.       Declare Function Func13711 As Boolean
  176.       Declare Sub Sub14047
  177.       Declare Sub Sub16099
  178.  
  179.       Dim t26_4463 As Type26
  180.       Dim t28_4653 As Type28
  181.       Dim s5533 As String
  182.       Dim t27_5537 As Type27
  183.       Dim b10032(0 To 7) As Byte
  184.       Dim b10040(0 To 7) As Byte
  185.       Dim s10048 As String
  186.       Dim t38_10052 As Type38
  187.       Dim t39_13986 As Type39
  188.       Dim dt18317 As DateTime
  189.       Dim t40_18323 As Type40
  190.  
  191.       Dim s65532_ As String '! Temporary
  192.  
  193.       t26_4463.s0 = "proFILES"
  194.       t26_4463.s25 = "2.0"
  195.       t26_4463.s35 = "01/01/96"
  196.       t26_4463.s50 = "Copyright (C) 1996 Prasanth Pulavarthi. All Rights Reserved."
  197.       t26_4463.s120 = t26_4463.s0 + " " + t26_4463.s25 + " for Wildcat! 4.01+"
  198.       s5533 = ProgPath + "ALLFILES.DAT"
  199.       t27_5537.s0 = t26_4463.s25
  200.       b10032(0) = 1
  201.       b10032(1) = 2
  202.       b10032(2) = 4
  203.       b10032(3) = 8
  204.       b10032(4) = 16
  205.       b10032(5) = 32
  206.       b10032(6) = 64
  207.       b10032(7) = 128
  208.       b10040(0) = 254
  209.       b10040(1) = 253
  210.       b10040(2) = 251
  211.       b10040(3) = 247
  212.       b10040(4) = 239
  213.       b10040(5) = 223
  214.       b10040(6) = 191
  215.       b10040(7) = 127
  216.       Sub6381(("PROFILES.PRM"))
  217.       s10048 = "PROFILES"
  218.       t26_4463.s0 = "OnDemand"
  219.       MorePrompt(0)
  220.       Sub16099
  221.       StatusClose 
  222.       Print DefColor
  223.       Cls 
  224.       MorePrompt(-1)
  225.       Sub2220(("OnDemand terminated NORMALLY."))
  226.       End 
  227.       Catch 15
  228.         Del s5533
  229.         Del t27_5537.s17 + t27_5537.s5
  230.         Del t27_5537.s180 + t27_5537.s168
  231.         Sub12409
  232.         Sub2220(("OnDemand terminated by DROPPING CARRIER."))
  233.         End 
  234.       GoTo 768
  235.   768
  236.  
  237. '! Called 2 times
  238.       Function Func780(s65534 As String) As Long
  239.         Dim l65524 As Long
  240.         Dim i65528 As Integer
  241.  
  242.         l65524 = 0
  243.         i65528 = Len(s65534)
  244.   809   Do While i65528 > 0
  245.           l65524 = l65524 + Asc(Mid(s65534, i65528, 1))
  246.           i65528 = i65528 - 1
  247.         Loop
  248.   874   Func780 = l65524
  249.       End Function
  250.  
  251. '! Called 1 time
  252.       Function Func892(s65534 As String) As Boolean
  253.         Dim s65513 As String '! Temporary
  254.         Dim l65517 As Long
  255.         Dim s65519 As String '! Temporary
  256.         Dim i65521 As Integer
  257.         Dim s65523 As String
  258.         Dim i65527 As Integer
  259.         Dim l65529 As Long
  260.  
  261.         Func892 = 0
  262.         If Exists(ProgPath + s65534 + ".LIC") Then
  263.           Open ProgPath + s65534 + ".LIC" For Random As 1 Len = 880 '! This value should probably be replaced with a "SizeOf" expression
  264.           Get 1, -1, t28_4653 '! 880 bytes
  265.           Close 1
  266.           If t28_4653.s0 <> "LIC" Then
  267.           Else
  268.  1012       If t28_4653.s3 <> s65534 Then
  269.             Else
  270.  1042         If UCase(t28_4653.s11) <> UCase(MakeWild.BBSName) Then
  271.               Else
  272.  1082           If UCase(t28_4653.s41) <> UCase(MakeWild.SysopName) Then
  273.                 Else
  274.  1122
  275.                   l65529 = Func780((t28_4653.s0 + t28_4653.s3 + t28_4653.s11 + t28_4653.s41))
  276.  1212             For i65527 = 1 To 10 Step 1
  277.                     s65523 = t28_4653.s66(i65527)
  278.                     l65529 = l65529 + Func780((s65523))
  279.                   Next
  280.  1366             If l65529 <> t28_4653.l866 Then
  281.                   Else
  282.  1395               Func892 = -1
  283.                   End If
  284.                 End If
  285.               End If
  286.             End If
  287.           End If
  288.         End If
  289.  1403
  290.       End Function
  291.  
  292. '! Called 6 times
  293.       Function Func1415(l65534 As Long, l65532 As Long) As Long
  294.         Func1415 = 0
  295.         If l65534 And l65532 Then
  296.           Func1415 = -1
  297.         End If
  298.  1460
  299.       End Function
  300.  
  301. '! Called 4 times
  302.       Sub Sub1468(l65534 As Long, l65532 As Long)
  303.         Dim l65524 As Long '! Temporary
  304.         Dim l65528 As Long '! Temporary
  305.  
  306.         If Func1415((l65534), (l65532)) Then
  307.           FlagClear l65534, l65532
  308.         Else
  309.  1550     FlagSet l65534, l65532
  310.         End If
  311.  1565
  312.       End Sub
  313.  
  314. '! Called 3 times
  315.       Function Func1568(i65534 As Integer) As Boolean
  316.         If (t27_5537.t41_393(i65534 Div 8 + 1).b0 And b10032(i65534 Mod 8)) <> 0 Then
  317.           Func1568 = -1
  318.         Else
  319.  1679     Func1568 = 0
  320.         End If
  321.  1685
  322.       End Function
  323.  
  324. '! Called 2 times
  325.       Sub Sub1693(i65534 As Integer)
  326.         t27_5537.t41_393(i65534 Div 8 + 1).b0 = t27_5537.t41_393(i65534 Div 8 + 1).b0 Or b10032(i65534 Mod 8)
  327.       End Sub
  328.  
  329. '! Called 1 time
  330.       Sub Sub1830(i65534 As Integer)
  331.         t27_5537.t41_393(i65534 Div 8 + 1).b0 = t27_5537.t41_393(i65534 Div 8 + 1).b0 And b10040(i65534 Mod 8)
  332.       End Sub
  333.  
  334. '! Called 4 times
  335.       Sub Sub1967(i65534 As Integer)
  336.         Dim i65532 As Integer '! Temporary
  337.  
  338.         If Func1568((i65534)) Then
  339.           Sub1830((i65534))
  340.         Else
  341.  2040
  342.           Sub1693((i65534))
  343.         End If
  344.  2066
  345.       End Sub
  346.  
  347. '! Called 2 times
  348.       Sub Sub2069(s65534 As String)
  349.         Dim i65532 As Integer
  350.  
  351.         i65532 = FreeFile
  352.         Open ProgPath + "PROFILES.LOG" For Append As i65532
  353.         Print #i65532, "      * "; s65534
  354.         Close i65532
  355.       End Sub
  356.  
  357. '! Called 1 time
  358.       Sub Sub2146
  359.         Dim i65534 As Integer
  360.  
  361.         i65534 = FreeFile
  362.         Open ProgPath + "PROFILES.LOG" For Append As i65534
  363.         Print #i65534, String(79, "-")
  364.         Close i65534
  365.       End Sub
  366.  
  367. '! Called 4 times
  368.       Sub Sub2220(s65534 As String)
  369.         Dim t65528 As Time
  370.         Dim i65532 As Integer
  371.  
  372.         i65532 = FreeFile
  373.         CurrentTime t65528
  374.         Open ProgPath + "PROFILES.LOG" For Append As i65532
  375.         Print #i65532, FormatTime(t65528, "hh:mm"); " "; s65534
  376.         Close i65532
  377.       End Sub
  378.  
  379. '! Called 1 time
  380.       Sub Sub2316
  381.         ActivityLog ProgName + " ERROR - See PROFILES.LOG for info."
  382.       End Sub
  383.  
  384. '! Called 1 time
  385.       Sub Sub2341
  386.         Delay 0
  387.       End Sub
  388.  
  389. '! Called 2 times
  390.       Function Func2361(l65534 As Long) As Long
  391.         Dim l65439 As Long
  392.         Dim l65443 As Long
  393.         Dim i65447 As Integer
  394.         Dim b65449 As Byte
  395.         Dim s65454 As String
  396.         Dim s65458 As String
  397.         Dim l65462 As Long
  398.         Dim s65466 As String*32
  399.         Dim t29_65498 As Type29
  400.  
  401.         i65447 = FreeFile
  402.         Open ProgPath + s10048 + ".HLP" For Random As i65447 Len = 32 '! This value should probably be replaced with a "SizeOf" expression
  403.         If l65534 > LOF(i65447) Then
  404.           Close i65447
  405.           Func2361 = - 1
  406.           DisplayPrompt 16
  407.           WaitEnter 
  408.         Else
  409.  2466     Get i65447, l65534, t29_65498 '! 32 bytes
  410.  2536     For l65462 = l65534 + 1 To l65534 + 1 + t29_65498.w26 Step 1
  411.             Get i65447, l65462, s65466 '! 32 bytes
  412.             s65458 = s65458 + s65466
  413.             b65449 = InStr(s65458, Chr(13) + Chr(10))
  414.  2644       Do While b65449 > 0
  415.               s65454 = Left(s65458, b65449)
  416.               Print s65454
  417.               s65458 = Mid(s65458, b65449 + 2, Len(s65458))
  418.               b65449 = InStr(s65458, Chr(13) + Chr(10))
  419.             Loop
  420.  2739     Next
  421.  2762     Close i65447
  422.           WaitEnter 
  423.           Func2361 = t29_65498.w26 + t29_65498.w30
  424.         End If
  425.  2798
  426.       End Function
  427.  
  428. '! Called 0 times
  429. '!      Function Func2818(s65534 As String) As Long
  430. '!        Func2818 = - 1
  431. '!        Open ProgPath + s10048 + ".HLP" For Random As 1 Len = 32 '! This value should probably be replaced with a "SizeOf" expression
  432. '!        IndexOpen(ProgPath + s10048 + ".IDX")
  433. '!        s65534 = Pad(UCase(s65534), 15)
  434. '!        If IndexLookUp(s65534) = s65534 Then
  435. '!          Func2818 = IndexNextRef
  436. '!        End If
  437. '! 2938   Close 1
  438. '!        IndexClose 
  439. '!      End Function
  440.  
  441. '! Called 2 times
  442.       Sub Sub2954(t30_65534 As Type30, s65532 As String, s65530 As String, s65528 As String, s65526 As String, l65524 As Long)
  443.         Inc t30_65534.b3931
  444.         t30_65534.t31_31(t30_65534.b3931).s0 = s65532
  445.         t30_65534.t31_31(t30_65534.b3931).s1 = s65530
  446.         t30_65534.t31_31(t30_65534.b3931).s66 = s65528
  447.         t30_65534.t31_31(t30_65534.b3931).s125 = s65526
  448.         t30_65534.t31_31(t30_65534.b3931).l190 = l65524
  449.       End Sub
  450.  
  451. '! Called 4 times
  452.       Sub Sub3265(t32_65534 As Type32, s65532 As String)
  453.         t32_65534.s0 = s65532
  454.         t32_65534.b3931 = 0
  455.         t32_65534.b3932 = 1
  456.       End Sub
  457.  
  458. '! Called 7 times
  459.       Sub Sub3318(t33_65534 As Type33)
  460.         MorePrompt(0)
  461.         Print "@NOPAUSE@";
  462.         Print Chr(27) + "[s";
  463.         Locate 5, 1
  464.         Locate 5 + t33_65534.b3933 - 1, 1
  465.         Print "   "
  466.         Locate 5 + t33_65534.b3932 - 1, 1
  467.         Print " @0C@"; Chr(16)
  468.         Locate User.LinesPerPage, 1
  469.         Print "@1F@ " + Pad(t33_65534.t34_31(t33_65534.b3932).s66, 59) + "@07@";
  470.         Print Chr(27) + "[u";
  471.         t33_65534.b3933 = t33_65534.b3932
  472.       End Sub
  473.  
  474. '! Called 3 times
  475.       Sub Sub3572
  476.         Dim l65528 As Long
  477.         Dim i65532 As Integer
  478.         Dim i65534 As Integer
  479.  
  480.  3614   For i65534 = 5 To User.LinesPerPage - 1 Step 1
  481.           Locate i65534, 1
  482.           ClrEOL 
  483.         Next
  484.  3700   Locate 5, 1
  485.       End Sub
  486.  
  487. '! Called 4 times
  488.       Function Func3710(t35_65534 As Type35) As String
  489.         Dim l65509 As Long '! Temporary
  490.         Dim l65513 As Long
  491.         Dim i65517 As Integer
  492.         Dim i65519 As Integer
  493.         Dim s65521 As String
  494.         Dim i65527 As Integer
  495.         Dim o65529 As Boolean
  496.  
  497.  3719   o65529 = 0
  498.         Do
  499.  3725     Cls 
  500.           Print Chr(27) + "[s";
  501.           Locate User.LinesPerPage, 1
  502.           Print "@1F@ " + LeftPad(" │ Press ? for help", 78) + " @07@";
  503.           Print Chr(27) + "[u";
  504.           SubText 1, t26_4463.s0
  505.           SubText 2, t26_4463.s25
  506.           SubText 3, Pad(t35_65534.s0, 31)
  507.           SubText 4, t26_4463.s35
  508.           Print "@71@ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ";
  509.           Print "@71@  @1F@  @SUB1@ @SUB2@  @07@ @71@ @1F@  @SUB3@  @07@ @70@ @1F@  Compiled: @SUB4@  @07@ @70@ ";
  510.           Print "@70@  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ";
  511.           Locate 5, 1
  512.           t35_65534.s3911 = ""
  513.  3945     For i65527 = 1 To t35_65534.b3931 Step 1
  514.             t35_65534.s3911 = t35_65534.s3911 + t35_65534.t36_31(i65527).s0
  515.             SubText 1, t35_65534.t36_31(i65527).s125
  516.             Print "@07@   @09@[@0F@"; t35_65534.t36_31(i65527).s0; "@09@] @0B@"; t35_65534.t36_31(i65527).s1
  517.           Next
  518.  4243     Sub3318(t35_65534.s0)
  519.           Print
  520.           Print "@07@Use your arrow keys to move cursor. Press ENTER or the hotkey to select."
  521.           Print "@0E@Your command >> @0F@";
  522.           Do
  523.             Do
  524.  4274         s65521 = UCase(InKey(1213417543))
  525.             Loop Until s65521 <> ""
  526.             i65527 = Asc(s65521)
  527.             If s65521 = Chr(27) Or s65521 = Chr(0) Then
  528.               Do
  529.  4347           s65521 = InKey(1213417543)
  530.                 If s65521 <> "" Then
  531.                   i65527 = Asc(s65521) + 1000
  532.                 End If
  533.  4393         Loop Until s65521 = ""
  534.             End If
  535.  4410       i65519 = i65527
  536.             If i65519 = 1077 Then GoTo 4484
  537.             If i65519 = 1080 Then GoTo 4484
  538.             If i65519 = 1066 Then GoTo 4484
  539.             If i65519 = 1067 Then
  540.  4484         Inc t35_65534.b3932
  541.               If t35_65534.b3932 > t35_65534.b3931 Then
  542.                 t35_65534.b3932 = 1
  543.               End If
  544.  4543         Sub3318(t35_65534.s0)
  545.             Else
  546.  4560         If i65519 = 1075 Then GoTo 4624
  547.               If i65519 = 1072 Then GoTo 4624
  548.               If i65519 = 1065 Then GoTo 4624
  549.               If i65519 = 1068 Then
  550.  4624           Dec t35_65534.b3932
  551.                 If t35_65534.b3932 < 1 Then
  552.                   t35_65534.b3932 = t35_65534.b3931
  553.                 End If
  554.  4683           Sub3318(t35_65534.s0)
  555.               Else
  556.  4700           If i65519 = Asc("?") Then
  557.                   o65529 = -1
  558.                   Print Chr(27) + "[s";
  559.                   Locate User.LinesPerPage, 1
  560.                   Print "@1F@ " + LeftPad(" │ ESC to exit help", 78) + " @07@";
  561.                   Print Chr(27) + "[u";
  562.                   MoveLeft 80
  563.                   ClrEOL 
  564.                   Print "@0E@Select the command you need help with >> @0F@";
  565.                   Sub3318(t35_65534.s0)
  566.                 Else
  567.  4838             If i65519 = 13 Then
  568.                     Func3710 = t35_65534.t36_31(t35_65534.b3932).s0
  569.                     Print "@0F@"; t35_65534.t36_31(t35_65534.b3932).s0
  570.                     If o65529 Then
  571.                       Sub3572
  572.                       SubText 1, t35_65534.t36_31(t35_65534.b3932).s125
  573.                       Print "@09@[@0F@"; t35_65534.t36_31(t35_65534.b3932).s0; "@09@] @0B@"; t35_65534.t36_31(t35_65534.b3932).s1
  574.                       Print
  575.                       If t35_65534.t36_31(t35_65534.b3932).l190 = 0 Then
  576.                         If t35_65534.t36_31(t35_65534.b3932).s66 = "" Then
  577.                           DisplayPrompt 16
  578.                         Else
  579.  5296                     Print "@0E@"; t35_65534.t36_31(t35_65534.b3932).s66
  580.                         End If
  581.  5359                   Print
  582.                         WaitEnter 
  583.                       Else
  584.  5370
  585.                         Func2361((t35_65534.t36_31(t35_65534.b3932).l190))
  586.                       End If
  587.  5441                 GoTo 3719
  588.                     Else
  589.  5453                 GoTo 6366
  590.                     End If
  591.  5459             Else
  592.  5465               If i65519 = 27 Then
  593.                       If o65529 Then
  594.                         o65529 = 0
  595.                         Print Chr(27) + "[s";
  596.                         Locate User.LinesPerPage, 1
  597.                         Print "@1F@ " + LeftPad(" │ Press ? for help", 78) + " @07@";
  598.                         Print Chr(27) + "[u";
  599.                         MoveLeft 80
  600.                         ClrEOL 
  601.                         Print "@0E@Your command >> @0F@";
  602.                         Sub3318(t35_65534.s0)
  603.                       Else
  604.  5606                   t35_65534.b3932 = t35_65534.b3931
  605.                         Sub3318(t35_65534.s0)
  606.                         Func3710 = t35_65534.t36_31(t35_65534.b3931).s0
  607.                         Print "@0F@"; t35_65534.t36_31(t35_65534.b3931).s0
  608.                         GoTo 6366
  609.                       End If
  610.  5758               Else
  611.  5764                 If InStr(t35_65534.s3911, s65521) > 0 Then
  612.                         t35_65534.b3932 = InStr(t35_65534.s3911, s65521)
  613.                         Sub3318(t35_65534.s0)
  614.                         Func3710 = s65521
  615.                         Print "@0F@"; s65521
  616.                         If o65529 Then
  617.                           Sub3572
  618.                           SubText 1, t35_65534.t36_31(t35_65534.b3932).s125
  619.                           Print "@09@[@0F@"; t35_65534.t36_31(t35_65534.b3932).s0; "@09@] @0B@"; t35_65534.t36_31(t35_65534.b3932).s1
  620.                           Print
  621.                           If t35_65534.t36_31(t35_65534.b3932).l190 = 0 Then
  622.                             If t35_65534.t36_31(t35_65534.b3932).s66 = "" Then
  623.                               DisplayPrompt 16
  624.                             Else
  625.  6191                         Print "@0E@"; t35_65534.t36_31(t35_65534.b3932).s66
  626.                             End If
  627.  6254                       Print
  628.                             WaitEnter 
  629.                           Else
  630.  6265
  631.                             Func2361((t35_65534.t36_31(t35_65534.b3932).l190))
  632.                           End If
  633.  6336                     GoTo 3719
  634.                         Else
  635.  6348                     GoTo 6366
  636.                         End If
  637.                       End If
  638.                     End If
  639.                   End If
  640.                 End If
  641.               End If
  642.             End If
  643.  6354     Loop
  644.         Loop
  645.  6366
  646.       End Function
  647.  
  648. '! Called 1 time
  649.       Sub Sub6381(s65534 As String)
  650.         If User.Language <> "" Then
  651.           If Exists(MakeWild.LanguagePath + User.Language + "\" + s65534) Then
  652.             Open MakeWild.LanguagePath + User.Language + "\" + s65534 For Random As 9 Len = 161 '! This value should probably be replaced with a "SizeOf" expression
  653.             GoTo 6658
  654.           End If
  655.         End If
  656.  6522   If Exists(MakeWild.LanguagePath + s65534) Then
  657.           Open MakeWild.LanguagePath + s65534 For Random As 9 Len = 161 '! This value should probably be replaced with a "SizeOf" expression
  658.           GoTo 6658
  659.         End If
  660.  6590   Error 10
  661.         Catch 10
  662.           Print "Unable to open prompt file: "; s65534
  663.           ActivityLog ProgName + " - Unable to open prompt file: " + s65534
  664.           WaitEnter 
  665.           End 
  666.         GoTo 6658
  667.  6658
  668.       End Sub
  669.  
  670. '! Called 20 times
  671.       Function Func6661(i65534 As Integer) As String
  672.         Dim s65365 As String
  673.         Dim t37_65369 As Type37
  674.  
  675.         If RIPEnabled Then
  676.           i65534 = i65534 + LOF(9) / 2
  677.         End If
  678.  6710   Get 9, i65534, t37_65369 '! 161 bytes
  679.         s65365 = Left(t37_65369.s1, t37_65369.b0)
  680.         If Left(s65365, 2) = "<<" Then
  681.           DisplayFile(Mid(s65365, 3, Len(s65365) - 2))
  682.           Func6661 = ""
  683.         Else
  684.  6810     Func6661 = s65365
  685.         End If
  686.  6818
  687.       End Function
  688.  
  689. '! Called 2 times
  690.       Function Func6833(s65534 As String, b65532 As Byte, i65530 As Integer, i65528 As Integer) As Integer
  691.         Dim l65512 As Long
  692.         Dim i65516 As Integer
  693.         Dim i65518 As Integer
  694.         Dim o65520 As Boolean
  695.         Dim o65521 As Boolean
  696.         Dim i65522 As Integer
  697.         Dim i65524 As Integer
  698.  
  699.         i65524 = 0
  700.         o65521 = 0
  701.         o65520 = 0
  702.  6893   For i65518 = b65532 To Len(s65534) Step 1
  703.           If Mid(s65534, i65518, 1) = "," Then
  704.             GoTo 7216
  705.           Else
  706.  6984       If Mid(s65534, i65518, 1) = " " Then
  707.               GoTo 7216
  708.             Else
  709.  7025         If Mid(s65534, i65518, 1) = "-" Then
  710.                 If o65521 = -1 Then
  711.                   o65520 = -1
  712.                 End If
  713.  7078           i65530 = i65524
  714.                 i65524 = 0
  715.                 o65521 = -1
  716.               Else
  717.  7110           If Not o65520 Then
  718.                   i65522 = Val(Mid(s65534, i65518, 1))
  719.                   If i65522 >= 0 And i65522 <= 9 Then
  720.                     i65524 = i65524 * 10 + i65522
  721.                   End If
  722.                 End If
  723.               End If
  724.             End If
  725.           End If
  726.  7193   Next
  727.  7216   If o65520 Then
  728.           i65530 = 0
  729.           i65528 = 0
  730.           i65524 = 0
  731.         Else
  732.  7255     If o65521 Then
  733.             i65528 = i65524
  734.             i65524 = - 1
  735.           End If
  736.         End If
  737.  7287   b65532 = i65518 + 1
  738.         Func6833 = i65524
  739.       End Function
  740.  
  741. '! Called 1 time
  742.       Sub Sub7321(i65534 As Integer, i65532 As Integer)
  743.         Dim i65421 As Integer '! Temporary
  744.         Dim l65423 As Long
  745.         Dim i65427 As Integer
  746.         Dim far65433 As FileAreaRecord
  747.         Dim i65530 As Integer
  748.  
  749.         DisplayPrompt 1129
  750.         Print
  751.         Print
  752.  7371   For i65530 = i65534 To i65532 Step 1
  753.           GetFileArea(far65433, i65530)
  754.           If Func13430((i65530)) Then
  755.             SubText 1, LeftPad(Str(i65530), 5)
  756.           Else
  757.  7487
  758.             SubText 1, Func6661((1)) + LeftPad(Str(i65530), 5)
  759.           End If
  760.  7528
  761.           If Func1568((i65530)) And Func13430((i65530)) Then
  762.             SubText 2, "*"
  763.           Else
  764.  7600       SubText 2, " "
  765.           End If
  766.  7610
  767.           If Func13430((i65530)) Then
  768.             SubText 3, Pad(far65433.Name, 31 + Len(far65433.Name) - AtLen(far65433.Name))
  769.           Else
  770.  7684
  771.             SubText 3, Func6661((1)) + Pad(far65433.Name, 31 + Len(far65433.Name) - AtLen(far65433.Name))
  772.           End If
  773.  7745     DisplayPrompt 829
  774.           Sub2341
  775.         Next
  776.  7780   Print
  777.         SubText 1, "1"
  778.         SubText 2, Str(MakeWild.MaxFileAreas)
  779.         If i65534 > 1 Then
  780.           DisplayPrompt 1313
  781.         Else
  782.  7839     DisplayPrompt 1312
  783.         End If
  784.  7845   Print Chr(27) + "[s";
  785.       End Sub
  786.  
  787. '! Called 3 times
  788.       Sub Sub7868(i65534 As Integer)
  789.         Dim i65532 As Integer '! Temporary
  790.  
  791.         If i65534 Mod 2 = 0 Then
  792.           Locate 2 + i65534 Div 2, 48
  793.         Else
  794.  7923     Locate 3 + i65534 Div 2, 8
  795.         End If
  796.  7943
  797.         If Func1568((i65534)) Then
  798.           Print "@0C@*";
  799.         Else
  800.  7990     Print " ";
  801.         End If
  802.  7999   Print Chr(27) + "[u";
  803.       End Sub
  804.  
  805. '! Called 1 time
  806.       Function Func8018(i65534 As Integer, i65532 As Integer) As Integer
  807.         Dim i65501 As Integer '! Temporary
  808.         Dim l65503 As Long
  809.         Dim s65505 As String '! Temporary
  810.         Dim i65507 As Integer '! Temporary
  811.         Dim l65509 As Long
  812.         Dim i65511 As Integer '! Temporary
  813.         Dim i65513 As Integer '! Temporary
  814.         Dim i65515 As Integer
  815.         Dim i65517 As Integer
  816.         Dim b65519 As Byte
  817.         Dim s65520 As String
  818.         Dim s65524 As String
  819.         Dim i65528 As Integer
  820.  
  821.         Sub7321((i65534), (i65532))
  822.         Do
  823.  8073     s65524 = InputMask("", String(10, "X"), "", 1213417543)
  824.           s65520 = UCase(s65524)
  825.           If s65520 = "C" Then GoTo 8150
  826.           If s65520 = "" Then
  827.  8150       Func8018 = -1
  828.             GoTo 8907
  829.           Else
  830.  8170       If s65520 = "N" Then
  831.               Func8018 = -3
  832.               GoTo 8907
  833.             Else
  834.  8207         If s65520 = "P" Then
  835.                 If i65534 > 1 Then
  836.                   Func8018 = -2
  837.                   GoTo 8907
  838.                 End If
  839.  8255         Else
  840.  8261           If s65520 = "S" Then GoTo 8295
  841.                 If s65520 = "L" Then
  842.  8295             Func8018 = -4
  843.                   GoTo 8907
  844.                 Else
  845.  8315             If s65520 = "A" Then
  846.  8361               For i65528 = 1 To MakeWild.MaxFileAreas Step 1
  847.                       If Func13430((i65528)) Then
  848.                         Sub1967((i65528))
  849.                         Sub7868((i65528))
  850.                       End If
  851.  8489               Next
  852.  8512             Else
  853.  8518               b65519 = 1
  854.  8525               Do While b65519 <= Len(s65524)
  855.                       i65528 = Func6833((s65524), b65519, i65517, i65515)
  856.                       If i65528 < 0 Then
  857.  8626                   For i65528 = i65517 To i65515 Step 1
  858.                           If Func13430((i65528)) Then
  859.                             Sub1967((i65528))
  860.                             Sub7868((i65528))
  861.                           End If
  862.  8754                   Next
  863.  8777                 Else
  864.  8783                   If i65528 >= 1 And i65528 <= MakeWild.MaxFileAreas Then
  865.                           If Func13430((i65528)) Then
  866.                             Sub1967((i65528))
  867.                             Sub7868((i65528))
  868.                           End If
  869.                         End If
  870.                       End If
  871.  8895               Loop
  872.                   End If
  873.                 End If
  874.               End If
  875.             End If
  876.           End If
  877.  8901   Loop
  878.  8907
  879.       End Function
  880.  
  881. '! Called 1 time
  882.       Sub Sub8923
  883.         Dim i65504 As Integer '! Temporary
  884.         Dim i65506 As Integer '! Temporary
  885.         Dim l65508 As Long
  886.         Dim i65512 As Integer
  887.         Dim i65514 As Integer
  888.         Dim i65516 As Integer
  889.         Dim b65518 As Byte
  890.         Dim i65519 As Integer
  891.         Dim i65521 As Integer
  892.         Dim i65523 As Integer
  893.         Dim s65525 As String
  894.         Dim o65529 As Boolean
  895.         Dim i65530 As Integer
  896.         Dim s65532 As String
  897.  
  898.         o65529 = -1
  899.         Do
  900.  8940     SubText 1, "1"
  901.           SubText 2, Str(MakeWild.MaxFileAreas)
  902.           DisplayPrompt 1217
  903.           Input s65532
  904.           s65525 = UCase(s65532)
  905.           If s65525 = "" Then
  906.  9037       For i65530 = 1 To MakeWild.MaxFileAreas Step 1
  907.               If Func13430((i65530)) Then
  908.                 Sub1693((i65530))
  909.               End If
  910.  9141       Next
  911.  9164     Else
  912.  9170       If s65525 = "Q" Then
  913.               GoTo 9763
  914.             Else
  915.  9199         If s65525 = "H" Then
  916.                 DisplayHelp "LISTFC.BBS"
  917.                 WaitEnter 
  918.                 o65529 = 0
  919.               Else
  920.  9239           If s65525 = "L" Then
  921.                   i65523 = 1
  922.                   Do
  923.  9263               i65521 = i65523 - 1 + (User.LinesPerPage - 5) * 2
  924.                     If i65521 > MakeWild.MaxFileAreas Then
  925.                       i65521 = MakeWild.MaxFileAreas
  926.                     End If
  927.  9335
  928.                     i65519 = Func8018((i65523), (i65521))
  929.                     If i65519 = -1 Then
  930.                       i65523 = i65523 + (User.LinesPerPage - 5) * 2
  931.                     Else
  932.  9434                 If i65519 = -2 Then
  933.                         i65523 = i65523 - (User.LinesPerPage - 5) * 2
  934.                       Else
  935.  9486                   If i65519 = -4 Then
  936.                           o65529 = 0
  937.                           GoTo 9555
  938.                           GoTo 9520
  939.                         End If
  940.                       End If
  941.                     End If
  942.  9520               If i65523 > MakeWild.MaxFileAreas Then
  943.                       GoTo 9555
  944.                     End If
  945.  9549             Loop
  946.  9555           Else
  947.  9561             b65518 = 1
  948.  9568             Do While b65518 <= Len(s65532)
  949.                     i65530 = Func6833((s65532), b65518, i65516, i65514)
  950.                     If i65530 >= 1 And i65530 <= MakeWild.MaxFileAreas Then
  951.                       If Func13430((i65530)) Then
  952.                         Sub1967((i65530))
  953.                       End If
  954.  9716               Else
  955.  9722                 Print
  956.                       DisplayPrompt 850
  957.                       Print
  958.                       o65529 = 0
  959.                       GoTo 9750
  960.                     End If
  961.  9744             Loop
  962.                 End If
  963.               End If
  964.             End If
  965.           End If
  966.  9750   Loop While Not o65529
  967.  9763
  968.       End Sub
  969.  
  970. '! Called 23 times
  971.       Sub Sub9774(t30_65534 As Type30, s65532 As String, i65530 As Integer, s65528 As String, l65526 As Long)
  972.         Dim l65506 As Long '! Temporary
  973.         Dim s65510 As String '! Temporary
  974.         Dim s65514 As String '! Temporary
  975.         Dim i65516 As Integer '! Temporary
  976.         Dim s65518 As String '! Temporary
  977.         Dim s65522 As String '! Temporary
  978.  
  979.         Sub2954(t30_65534, (s65532), (Func6661(i65530)), (Func6661((i65530 + 1))), (s65528), (l65526))
  980.       End Sub
  981.  
  982. '! Called 1 time
  983.       Sub Sub9934
  984.         Dim l65518 As Long '! Temporary
  985.         Dim s65522 As String '! Temporary
  986.         Dim i65526 As Integer '! Temporary
  987.         Dim s65528 As String '! Temporary
  988.         Dim i65530 As Integer '! Temporary
  989.         Dim s65532 As String
  990.  
  991.         Sub3265(t38_10052.??0, (Func6661((16 + 0))))
  992.         Sub9774(t38_10052.??0, ("S"), (16 + 1), (""), (1))
  993.         Sub9774(t38_10052.??0, ("D"), (16 + 3), (""), (20))
  994.         Sub9774(t38_10052.??0, ("F"), (16 + 5), (""), (36))
  995.         Sub9774(t38_10052.??0, ("E"), (16 + 7), (""), (60))
  996.         Sub9774(t38_10052.??0, ("N"), (16 + 9), (""), (80))
  997.         Sub9774(t38_10052.??0, ("Q"), (16 + 11), (""), (0))
  998.         If t27_5537.b84 > 0 Then
  999.           t38_10052.b3932 = t27_5537.b84
  1000.         End If
  1001. 10538   s65532 = UCase(Func3710(t38_10052.??0))
  1002.         If s65532 = "S" Then
  1003.           t27_5537.b84 = 1
  1004.         Else
  1005. 10588     If s65532 = "D" Then
  1006.             t27_5537.b84 = 2
  1007.           Else
  1008. 10622       If s65532 = "F" Then
  1009.               t27_5537.b84 = 3
  1010.             Else
  1011. 10656         If s65532 = "E" Then
  1012.                 t27_5537.b84 = 4
  1013.               Else
  1014. 10690           If s65532 = "N" Then
  1015.                   t27_5537.b84 = 5
  1016.                 Else
  1017. 10724             If s65532 = "Q" Then
  1018.                     GoTo 10753
  1019.                     GoTo 10753
  1020.                   End If
  1021.                 End If
  1022.               End If
  1023.             End If
  1024.           End If
  1025.         End If
  1026. 10753
  1027.       End Sub
  1028.  
  1029. '! Called 1 time
  1030.       Sub Sub10760
  1031.         Dim l65508 As Long '! Temporary
  1032.         Dim s65512 As String '! Temporary
  1033.         Dim i65516 As Integer '! Temporary
  1034.         Dim s65518 As String '! Temporary
  1035.         Dim i65520 As Integer '! Temporary
  1036.         Dim s65522 As String
  1037.         Dim d65526 As Date
  1038.         Dim s65532 As String
  1039.  
  1040.         Sub3265(t38_10052.??0, (Func6661((29 + 0))))
  1041.         Sub9774(t38_10052.??0, ("A"), (29 + 1), (""), (0))
  1042.         Sub9774(t38_10052.??0, ("D"), (29 + 3), (""), (0))
  1043.         Sub9774(t38_10052.??0, ("S"), (29 + 5), (""), (0))
  1044.         Sub9774(t38_10052.??0, ("L"), (29 + 7), (""), (0))
  1045.         Sub9774(t38_10052.??0, ("Q"), (29 + 9), (""), (0))
  1046.         If t27_5537.b4492 >= 0 Then
  1047.           t38_10052.b3932 = t27_5537.b4492 + 1
  1048.         End If
  1049. 11281   s65522 = UCase(Func3710(t38_10052.??0))
  1050.         If s65522 = "A" Then
  1051.           t27_5537.b4492 = 0
  1052.         Else
  1053. 11331     If s65522 = "D" Then
  1054.             t27_5537.b4492 = 1
  1055.             t27_5537.w4493 = Val(InputMask(Func6661((29 + 11)), "999", Str(t27_5537.w4493), 1213417543))
  1056.           Else
  1057. 11430       If s65522 = "S" Then
  1058.               t27_5537.b4492 = 2
  1059.               d65526.Number = t27_5537.w4493
  1060.               SubText 1, FormatDate(d65526, MakeWild.DateFormat)
  1061.               s65532 = InputMask(Func6661((29 + 12)), "99/99/99", "", 1213417543)
  1062.               If s65532 <> "" Then
  1063.                 DateStringToDate "ddmmyy", s65532, d65526
  1064.                 t27_5537.w4493 = d65526.Number
  1065.               End If
  1066. 11590       Else
  1067. 11596         If s65522 = "L" Then
  1068.                 t27_5537.b4492 = 3
  1069.                 d65526.Number = t27_5537.w4493
  1070.                 SubText 1, FormatDate(d65526, MakeWild.DateFormat)
  1071.                 s65532 = InputMask(Func6661((29 + 13)), "99/99/99", "", 1213417543)
  1072.                 If s65532 <> "" Then
  1073.                   DateStringToDate "ddmmyy", s65532, d65526
  1074.                   t27_5537.w4493 = d65526.Number
  1075.                 End If
  1076. 11756         Else
  1077. 11762           If s65522 = "Q" Then
  1078.                   GoTo 11791
  1079.                   GoTo 11791
  1080.                 End If
  1081.               End If
  1082.             End If
  1083.           End If
  1084.         End If
  1085. 11791
  1086.       End Sub
  1087.  
  1088. '! Called 1 time
  1089.       Sub Sub11802
  1090.         Dim s65528 As String
  1091.         Dim l65532 As Long
  1092.  
  1093.         t27_5537.s0 = t26_4463.s25
  1094.         t27_5537.s17 = t39_13986.s169
  1095.         t27_5537.s5 = MakeWild.PacketId + "." + t39_13986.s5
  1096.         t27_5537.s180 = t39_13986.s169
  1097.         t27_5537.s168 = MakeWild.PacketId + "." + t39_13986.s8
  1098.         t27_5537.s89 = t39_13986.s11
  1099.         t27_5537.s247 = t39_13986.s90
  1100.         t27_5537.s326 = t39_13986.s169
  1101.         t27_5537.b84 = User.FileDisplay
  1102.         t27_5537.l4488 = 4 And 16 And 32 And 512
  1103.         t27_5537.b4492 = 3
  1104.         t27_5537.w4493 = User.LastNewFiles.D.Number
  1105.         If Not Exists(ProgPath + "ONDEMAND.DAT") Then
  1106.         Else
  1107. 12109     Open ProgPath + "ONDEMAND.DAT" For Random As 1 Len = 4107 '! This value should probably be replaced with a "SizeOf" expression
  1108.           IndexOpen(ProgPath + "ONDEMAND.IDX")
  1109.           s65528 = LeftPad(Str(User.UserId), 10)
  1110.           If IndexLookUp(s65528) = s65528 Then
  1111. 12189       Do While Not EOF(1)
  1112.               l65532 = IndexNextRef
  1113.               If l65532 < 0 Then
  1114.                 GoTo 12394
  1115.               End If
  1116. 12230         If l65532 <= LOF(1) Then
  1117.                 Get 1, l65532, t40_18323 '! 4107 bytes
  1118.                 If t40_18323.l0 = User.UserId Then
  1119.                   t27_5537.b84 = t40_18323.b4
  1120.                   t27_5537.t41_393 = t40_18323.t41_5 '! 4095 bytes
  1121.                   t27_5537.l4488 = t40_18323.l4100
  1122.                   t27_5537.b4492 = t40_18323.b4104
  1123.                   t27_5537.w4493 = t40_18323.w4105
  1124.                   GoTo 12394
  1125.                 End If
  1126.               End If
  1127. 12388       Loop
  1128.           End If
  1129. 12394     IndexClose 
  1130.           Close 1
  1131.         End If
  1132. 12402
  1133.       End Sub
  1134.  
  1135. '! Called 2 times
  1136.       Sub Sub12409
  1137.         Dim s65528 As String
  1138.         Dim l65532 As Long
  1139.  
  1140.         t40_18323.l0 = User.UserId
  1141.         t40_18323.b4 = t27_5537.b84
  1142.         t40_18323.t41_5 = t27_5537.t41_393 '! 4095 bytes
  1143.         t40_18323.l4100 = t27_5537.l4488
  1144.         t40_18323.b4104 = t27_5537.b4492
  1145.         t40_18323.w4105 = t27_5537.w4493
  1146.         Open ProgPath + "ONDEMAND.DAT" For Random As 1 Len = 4107 '! This value should probably be replaced with a "SizeOf" expression
  1147.         IndexOpen(ProgPath + "ONDEMAND.IDX")
  1148.         l65532 = LOF(1) + 1
  1149.         s65528 = LeftPad(Str(User.UserId), 10)
  1150.         If IndexLookUp(s65528) = s65528 Then
  1151.           l65532 = IndexNextRef
  1152.         End If
  1153. 12630   Put 1, l65532, t40_18323 '! 4107 bytes
  1154.         If IndexLookUp(s65528) <> s65528 Then
  1155.           IndexAdd LeftPad(Str(User.UserId), 10), l65532
  1156.         End If
  1157. 12690   Close 1
  1158.         IndexClose 
  1159.       End Sub
  1160.  
  1161. '! Called 0 times
  1162. '!      Sub Sub12705(l65534 As Long)
  1163. '!        Dim l65518 As Long
  1164. '!        Dim l65522 As Long
  1165. '!        Dim s65526 As String
  1166. '!        Dim l65530 As Long
  1167.  
  1168. '!        If Not Exists(ProgPath + "ONDEMAND.DAT") Then
  1169. '!        Else
  1170. '!12741     l65530 = - 1
  1171. '!          Open ProgPath + "ONDEMAND.DAT" For Random As 1 Len = 4107 '! This value should probably be replaced with a "SizeOf" expression
  1172. '!          IndexOpen(ProgPath + "ONDEMAND.IDX")
  1173. '!          s65526 = LeftPad(Str(l65534), 10)
  1174. '!          If IndexLookUp(s65526) = s65526 Then
  1175. '!12828       Do While Not EOF(1)
  1176. '!              l65530 = IndexNextRef
  1177. '!              If l65530 < 0 Then
  1178. '!                GoTo 12935
  1179. '!              End If
  1180. '!12869         If l65530 <= LOF(1) Then
  1181. '!                Get 1, l65530, t40_18323 '! 4107 bytes
  1182. '!                If t40_18323.l0 = l65534 Then
  1183. '!                  GoTo 12935
  1184. '!                End If
  1185. '!              End If
  1186. '!12929       Loop
  1187. '!12935       l65530 = 0
  1188. '!          End If
  1189. '!12941     If l65530 > 0 Then
  1190. '!            If LOF(1) = 1 Then
  1191. '!              IndexClose 
  1192. '!              Close 1
  1193. '!              Del ProgPath + "ONDEMAND.DAT"
  1194. '!              Del ProgPath + "ONDEMAND.IDX"
  1195. '!              GoTo 13299
  1196. '!            Else
  1197. '!13016         Get 1, LOF(1), t40_18323 '! 4107 bytes
  1198. '!              Put 1, l65530, t40_18323 '! 4107 bytes
  1199. '!              IndexAdd LeftPad(Str(l65534), 10), l65530
  1200. '!              IndexClose 
  1201. '!              Del TempPath + "ONDEMAND.DEL"
  1202. '!              Open TempPath + "ONDEMAND.DEL" For Random As 2 Len = 4107 '! This value should probably be replaced with a "SizeOf" expression
  1203. '!13141         For l65530 = 1 To LOF(1) - 1 Step 1
  1204. '!                Get 1, l65530, t40_18323 '! 4107 bytes
  1205. '!                Put 2, -1, t40_18323 '! 4107 bytes
  1206. '!              Next
  1207. '!13244         Close 1
  1208. '!              Close 2
  1209. '!              CopyFile(TempPath + "ONDEMAND.DEL", ProgPath + "ONDEMAND.DAT")
  1210. '!              Del TempPath + "ONDEMAND.DEL"
  1211. '!            End If
  1212. '!          End If
  1213. '!13291     IndexClose 
  1214. '!          Close 1
  1215. '!        End If
  1216. '!13299
  1217. '!      End Sub
  1218.  
  1219. '! Called 1 time
  1220.       Function Func13306(w65534 As Word) As Boolean
  1221.         If (t39_13986.b236(w65534 Div 8 + 1) And b10032(w65534 Mod 8)) <> 0 Then
  1222.           Func13306 = -1
  1223.         Else
  1224. 13416     Func13306 = 0
  1225.         End If
  1226. 13422
  1227.       End Function
  1228.  
  1229. '! Called 8 times
  1230.       Function Func13430(i65534 As Integer) As Boolean
  1231.         Dim w65531 As Word '! Temporary
  1232.  
  1233.         If UserSec.AccessFileList(i65534) And Not Func13306((i65534)) Then
  1234.           Func13430 = -1
  1235.         Else
  1236. 13502     Func13430 = 0
  1237.         End If
  1238. 13508
  1239.       End Function
  1240.  
  1241. '! Called 1 time
  1242.       Function Func13516 As Boolean
  1243.         Dim l65525 As Long
  1244.         Dim l65529 As Long
  1245.         Dim i65533 As Integer
  1246.  
  1247.         Func13516 = 0
  1248.         If Exists(s5533) Then
  1249.           i65533 = FreeFile
  1250.           Open s5533 For Binary As i65533
  1251.           l65529 = LOF(i65533)
  1252.           Close i65533
  1253.           l65525 = l65529
  1254.           If l65525 = 4495 Then
  1255.             i65533 = FreeFile
  1256.             Open s5533 For Random As i65533 Len = 4495 '! This value should probably be replaced with a "SizeOf" expression
  1257.             Get i65533, -1, t27_5537 '! 4495 bytes
  1258.             Close i65533
  1259.             FlagClear t27_5537.l85, 64
  1260.             Func13516 = -1
  1261.             GoTo 13703
  1262.           End If
  1263.         End If
  1264. 13703
  1265.       End Function
  1266.  
  1267. '! Called 1 time
  1268.       Function Func13711 As Boolean
  1269.         Dim l65280 As Long
  1270.         Dim l65284 As Long
  1271.         Dim i65288 As Integer
  1272.         Dim sp65290 As SecurityProfile
  1273.         Dim s65531 As String
  1274.  
  1275.         GetSecProfile(sp65290, User.SecLevel)
  1276.         If sp65290.MenuSet <> "" And Exists(ProgPath + "ONDEMAND.PR" + sp65290.MenuSet) Then
  1277.           s65531 = ProgPath + "ONDEMAND.PR" + sp65290.MenuSet
  1278.         Else
  1279. 13819     s65531 = ProgPath + "ONDEMAND.PRO"
  1280.         End If
  1281. 13833   Func13711 = 0
  1282.         If Exists(s65531) Then
  1283.           i65288 = FreeFile
  1284.           Open s65531 For Binary As i65288
  1285.           l65284 = LOF(i65288)
  1286.           Close i65288
  1287.           l65280 = l65284
  1288.           If l65280 = 4331 Then
  1289.             i65288 = FreeFile
  1290.             Open s65531 For Random As i65288 Len = 4331 '! This value should probably be replaced with a "SizeOf" expression
  1291.             Get i65288, -1, t39_13986 '! 4331 bytes
  1292.             Close i65288
  1293.             If t39_13986.s169 = "" Then
  1294.               t39_13986.s169 = TempPath
  1295.             End If
  1296. 14021       Func13711 = -1
  1297.             GoTo 14035
  1298.           End If
  1299.         End If
  1300. 14035
  1301.       End Function
  1302.  
  1303. '! Called 1 time
  1304.       Sub Sub14047
  1305.         Dim l65510 As Long '! Temporary
  1306.         Dim s65514 As String '! Temporary
  1307.         Dim i65516 As Integer '! Temporary
  1308.         Dim i65518 As Integer '! Temporary
  1309.         Dim s65520 As String '! Temporary
  1310.         Dim i65522 As Integer '! Temporary
  1311.         Dim s65524 As String
  1312.         Dim s65532 As String
  1313.  
  1314.         Do
  1315. 14056
  1316.           Sub3265(t38_10052.??0, (Func6661((167 + 0))))
  1317.           s65532 = Func6661((7 + t27_5537.b84 - 1))
  1318.           Sub9774(t38_10052.??0, ("1"), (167 + 1), (s65532), (0))
  1319.           s65532 = Func6661((12 + t27_5537.b4492))
  1320.           Sub9774(t38_10052.??0, ("2"), (167 + 3), (s65532), (0))
  1321.           Sub9774(t38_10052.??0, ("3"), (167 + 5), (Func6661((3 + Func1415((t27_5537.l4488), (0))))), (4))
  1322.           Sub9774(t38_10052.??0, ("4"), (167 + 7), (Func6661((3 + Func1415((t27_5537.l4488), (0))))), (16))
  1323.           Sub9774(t38_10052.??0, ("5"), (167 + 9), (Func6661((3 + Func1415((t27_5537.l4488), (0))))), (32))
  1324.           Sub9774(t38_10052.??0, ("6"), (167 + 11), (Func6661((3 + Func1415((t27_5537.l4488), (0))))), (512))
  1325.           Sub9774(t38_10052.??0, ("S"), (167 + 13), (""), (0))
  1326.           Sub9774(t38_10052.??0, ("C"), (167 + 15), (""), (0))
  1327.           Sub9774(t38_10052.??0, ("D"), (167 + 17), (""), (0))
  1328.           Sub9774(t38_10052.??0, ("Q"), (167 + 19), (""), (0))
  1329.           s65524 = UCase(Func3710(t38_10052.??0))
  1330.           If s65524 = "1" Then
  1331.             Sub9934
  1332.           Else
  1333. 15314       If s65524 = "2" Then
  1334.               Sub10760
  1335.             Else
  1336. 15343         If s65524 = "3" Then
  1337.                 Sub1468(t27_5537.l4488, (4))
  1338.               Else
  1339. 15395           If s65524 = "4" Then
  1340.                   Sub1468(t27_5537.l4488, (16))
  1341.                 Else
  1342. 15447             If s65524 = "5" Then
  1343.                     Sub1468(t27_5537.l4488, (32))
  1344.                   Else
  1345. 15499               If s65524 = "6" Then
  1346.                       Sub1468(t27_5537.l4488, (512))
  1347.                     Else
  1348. 15552                 If s65524 = "S" Then
  1349.                         Sub8923
  1350.                       Else
  1351. 15581                   If s65524 = "C" Then
  1352.                           Del t27_5537.s17 + t27_5537.s5
  1353.                           Del t27_5537.s180 + t27_5537.s168
  1354.                           If Func892(("ALLFILES")) Then
  1355.                             FlagSet t27_5537.l85, 64
  1356.                           Else
  1357. 15699                       FlagClear t27_5537.l85, 64
  1358.                           End If
  1359. 15711                     FlagSet t27_5537.l85, 32
  1360.                           Open s5533 For Random As 1 Len = 4495 '! This value should probably be replaced with a "SizeOf" expression
  1361.                           Put 1, -1, t27_5537 '! 4495 bytes
  1362.                           Close 1
  1363.                           Sub2069(("Chaining to proFILES for list generation..."))
  1364.                           Chain ProgPath + "ALLFILES.WCX", ""
  1365.                         Else
  1366. 15813                     If s65524 = "D" Then
  1367.                             Sub3572
  1368.                             If Not Exists(t27_5537.s180 + t27_5537.s168) Then
  1369.                               If Exists(t27_5537.s17 + t27_5537.s5) Then
  1370.                                 If InputYesNo(Func6661((167 + 21)), -1) Then
  1371.                                   SendFile(t27_5537.s17 + t27_5537.s5, 1213417543)
  1372.                                 End If
  1373. 15968                         Else
  1374. 15974
  1375.                                 Print Func6661((167 + 22))
  1376.                                 WaitEnter 
  1377.                               End If
  1378. 16006                       Else
  1379. 16012                         SendFile(t27_5537.s180 + t27_5537.s168, 1213417543)
  1380.                             End If
  1381. 16043                     Else
  1382. 16049                       If s65524 = "Q" Then
  1383.                               GoTo 16084
  1384.                               GoTo 16078
  1385.                             End If
  1386.                           End If
  1387.                         End If
  1388.                       End If
  1389.                     End If
  1390.                   End If
  1391.                 End If
  1392.               End If
  1393.             End If
  1394.           End If
  1395. 16078   Loop
  1396. 16084
  1397.       End Sub
  1398.  
  1399. '! Called 1 time
  1400.       Sub Sub16099
  1401.         Dim l63689 As Long '! Temporary
  1402.         Dim s63693 As String '! Temporary
  1403.         Dim l63695 As Long '! Temporary
  1404.         Dim s63697 As String '! Temporary
  1405.         Dim s63699 As String '! Temporary
  1406.         Dim s63701 As String '! Temporary
  1407.         Dim i63703 As Integer '! Temporary
  1408.         Dim s63705 As String '! Temporary
  1409.         Dim l63707 As Long '! Temporary
  1410.         Dim l63709 As Long
  1411.         Dim s63711 As String '! Temporary
  1412.         Dim i63713 As Integer '! Temporary
  1413.         Dim s63715 As String
  1414.         Dim s63719 As String
  1415.         Dim i63723 As Integer
  1416.         Dim i63725 As Integer
  1417.         Dim t42_63727(1 To 9) As Type42
  1418.  
  1419.         If Not Func13711 Then
  1420.           Sub2220(("OnDemand configuration file not found or is unknown format."))
  1421.           Sub2316
  1422.           DisplayPrompt 1226
  1423.           DisplayPrompt 23
  1424.           WaitEnter 
  1425.         Else
  1426. 16175     Sub11802
  1427.           s5533 = TempPath + Trim(Str(User.UserId)) + ".PRO"
  1428.           Func13516
  1429.           Open ProgPath + "ONDEMAND.LST" For Input As 1
  1430.           i63725 = 0
  1431. 16250     Do While Not EOF(1)
  1432.             Inc i63725
  1433.             Input #1, t42_63727(i63725).s0
  1434.             Input #1, t42_63727(i63725).s65
  1435.             Input #1, t42_63727(i63725).s142
  1436.             If t42_63727(i63725).s0 = "" Then
  1437.               t42_63727(i63725).s0 = t42_63727(i63725).s65
  1438.             End If
  1439. 16513       If t42_63727(i63725).s142 = "" Then
  1440.               t42_63727(i63725).s142 = Func6661((161 + 5))
  1441.             End If
  1442. 16629     Loop
  1443. 16635     Close 1
  1444.           If Func1415((t27_5537.l85), (32)) Then
  1445.             Sub2069(("Returned from proFILES."))
  1446.             GoTo 17374
  1447.           Else
  1448. 16728       Sub2146
  1449.             CurrentDateTime dt18317
  1450.             Sub2220(("OnDemand executed by " + User.Name + " on " + FormatDate(dt18317.D, MakeWild.DateFormat) + "."))
  1451.             If Exists(ProgPath + "ONDEMAND.BBS") Then
  1452.               DisplayTextFile(ProgPath + "ONDEMAND.BBS")
  1453.             End If
  1454.           End If
  1455.           Do
  1456. 16845
  1457.             Sub3265(t38_10052.??0, (Func6661((161 + 0))))
  1458. 16918       For i63723 = 1 To i63725 Step 1
  1459.               Sub2954(t38_10052.??0, (Str(i63723)), (t42_63727(i63723).s0), (t42_63727(i63723).s142), (""), (0))
  1460.             Next
  1461. 17165
  1462.             Sub9774(t38_10052.??0, ("C"), (161 + 1), (""), (0))
  1463.             Sub9774(t38_10052.??0, ("Q"), (161 + 3), (""), (0))
  1464.             s63719 = UCase(Func3710(t38_10052.??0))
  1465.             s63715 = s63719
  1466.             If s63715 = "C" Then
  1467. 17374         Sub14047
  1468.             Else
  1469. 17386         If s63715 = "Q" Then
  1470.                 Del s5533
  1471.                 Del t27_5537.s17 + t27_5537.s5
  1472.                 Del t27_5537.s180 + t27_5537.s168
  1473.                 Sub12409
  1474.                 GoTo 17572
  1475.               Else
  1476. 17478           i63723 = Val(s63719)
  1477.                 If i63723 > 0 And i63723 <= i63725 Then
  1478.                   SendFile(t42_63727(i63723).s65, 1213417543)
  1479.                 End If
  1480.               End If
  1481.             End If
  1482. 17566     Loop
  1483.         End If
  1484. 17572
  1485.       End Sub
  1486.